home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Precision Software Appli…tions Silver Collection 4
/
Precision Software Applications Silver Collection Volume 4 (1993).iso
/
stats
/
sixsig.exe
/
SSS.DOC
< prev
next >
Wrap
Text File
|
1992-07-11
|
37KB
|
681 lines
┌──────────────────────────────────────────────────────┐
│ Six Sigma Simulator │
│ SSS.EXE....Version 9207 │
├──────────────────────────────────────────────────────┤
│ A Quality Assurance Training Tool: │
│ Statistics Committee of the QA Section of the PMA │
├──────────────────────────────────────────────────────┤
│ Bob Obenchain, CompuServe User [72007,467] │
│ 5261 Woodfield Drive North, Carmel, IN 46033 │
└──────────────────────────────────────────────────────┘
SSS.EXE has several potential uses...
Entertainment: SSS can be used as a "Statistician's Screen Saver."
-------------- But SSS is not a Terminate and Stay Resident (TSR)
module, so SSS cannot automatically "pop-up" (like
true screen-savers) when your keyboard has remained
idle for a specific period of time. Besides, compared
to many of the screen-saver routines presently
available, SSS displays are too "predictable" and
rather boring. But isn't that what PEOPLE always say
about statistics!!!
Education: SSS can be used in the classroom or in self-paced
---------- learning to illustrate histograms, chi-squared
goodness-of-fit tests, and Monte-Carlo techniques.
Filenames: Files related to the Six-Sigma-Simulator are:
----------
SSS.EXE ...Main executable module
SSS.DOC ...This ASCII documentation file
SSS.ICO ...Microsoft Windows 3 icon for SSS
SSS.C ...C-language source code for SSS
SSS.PAR ...Created by the SSS P=parameter Option
SSS.SAV ...Output SAVE file written on EXIT from SSS
CONTENTS:
(i) Introduction to Motorola "six sigma" terminology and to
pseudo-random number options available within SSS.EXE.
(ii) Invocation of SSS.EXE and Use of Menus.
(iii) Numerical Examples with 2 billion replications.
(iv) Advanced concepts illustrated by SSS.
(v) Warning about DATE when running for more than 48 hours.
(vi) References and Update History
- 2 -
INTRODUCTION
============
The concept of "Six-Sigma Capability," Harry(1987), is rapidly
becoming a catch-phrase here in the United States for "world-class
quality." This criterion is defined as follows:
The distance from the target to the spec limits should be
6 * sigma, and the process mean should be no more than
1.5 * sigma from the target...where sigma is the standard
deviation of the process distribution.
In other words, the distance to the CLOSER spec limit from
the process mean should be at least 4.5 * sigma.
A process operating either at or better than this capability
level is expected to produce nonconforming units at a rate of
at most 3.4 parts per million. (Note: all of these "defects"
are expected to occur as violations of the closer spec limit.)
The final statement above is based upon theoretical calculations for
a Normal distribution; SSS.EXE uses those same calculations and also
pseudo-random Normal variate simulation to form a histogram with 50
cells that cover the plus-or-minus six sigma range.
Note that a more "descriptive" title for the basic Motorola concept
might well be... "One-Tailed 4.5 Sigma Capability." Or, as pointed
out by Carr(1991), this is the capability level corresponding to a
C-sub-pk statistic of 1.5. In any case, if you COULD refine your
processes to the point where your specification limits were (at least)
six standard deviations away from your target and your process mean
were (no more than) one-and-one-half standard deviations from this
same target, then your process YIELD (percent of product within spec)
should be very, very high! Right?
Well, yes, yields probably would be very good in this case. But how
much "reality" can there be in the one-tailed 4.5 sigma defect rate of
3.4 parts per million that corresponds to a process of EXACTLY Normal
form? How about the even more "extreme" one-tailed 6.0 sigma defect
rate of 1-part-per-billion? If one can fail to demonstrate these
yield rates using state-of-the-art random number generation on a
computer, how much hope can there be in actual, industrial practice?
The "Six Sigma Simulator," SSS, uses color-text graphics (25 or 43
lines per screen) to display "dynamic" histograms of pseudo-random
i.i.d. Normal variables with mean zero and variance one. To achieve
maximum speed, accuracy, and MS-DOS portability, SSS was compiled using
Microsoft C version 6.00AX and uses state-of-the-art computing
algorithms for uniform pseudo-random number generation and for
Box-Muller transformation to a pair of independent Normal variates.
Functions compiled from code with Copyright 1987, 1988 by Numerical
Recipes Software were bound into SSS.EXE by permission of the authors.
- 3 -
For uniform pseudo-random number generation, SSS includes the
ran1(), ran2(), and ran(3) functions of Press, Flannery, Teukolsky,
and Vetterling(1988) as well as a Wichman-Hill(1982) algorithm.
rntype=1: The ran1() function that uses three linear congruential
generators.
rntype=2: The ran2() function that uses a single congruential
generator. This function can be fast but produces a
"comb" of ONLY 714,025 different values on (0,1).
rntype=3: A floating point version of the ran3() function, which
is the fast "subtractive" algorithm due to Knuth.
rntype=4: An implementation of the Wichman-Hill(1982) algorithm;
see also remarks by McLeod(1985) and Zeisel(1986).
To generate a pair of independent Normal variates, SSS uses one of
two implementations of the Box-Muller transformation. Both methods
require computation of a logarithm...
bmtype=0: The gasdev() function of Press, Flannery, Teukolsky, and
Vetterling (1988) rescales uniform variates to the range
(-1.0,1.0) and rejects any pair that falls outside of the
unit circle.
bmtype=1: This is the brute force trignometric approach which
requires computation of a sine and a cosine as well as
the logarithm.
Timing Results:
===============
Here are the times needed to generate 500,000 replicates with SSS
on a 33Mhz 80486-machine...
Trig.Transform Rej.Transform
(bmtype=1) (bmtype=0)
rntype=1: three generators.... 69 seconds 68 seconds
rntype=2: single generator..... 58 seconds 54 seconds
rntype=3: float, subtractive... 52 seconds 47 seconds
rntype=4: Wichman-Hill......... 64 seconds 62 seconds
As a result of the above timing comparisons, the trignometric
(bmtype=1) transformation is highly recommended for use on all
personal computers that have either a built-in (80486) or an add-on
(8087,80287,80387) numeric math coprocessor chip. The rejection
(bmtype=0) transform may run from 1% to 9% faster on these machines,
but it does much less well in simulating tail-area probabilities
(outside of +/- 5 sigma) than does the bmtype=1 transform.
- 4 -
Choice of pseudo-random number generation algorithm is less clear cut.
Knuth (rntype=3) is fastest, at least when a numeric math coprocessor
is present. The long-run marginal distribution is exceptionally
smooth for the Wichman-Hill algorithm (rntype=4) and somewhat more
smooth for the "comb" (rntype=2) than for the rntype= 1 and 3 choices.
As a result, rntype= 4 and 2 tend to produce much lower chi-squared
lack-of-fit statistics than do the other two algorithms.
On personal computers that do NOT have a built-in or add-on numeric
math coprocessor, SSS will run about 15 to 20 TIMES MORE SLOWLY than
when an 8087, 80287, 80387 or 80486 chip is present. Compare the
above times for generating 500,000 replicates to the following times
for generating only 50,000 replicates (1 tenth as many) when numeric
math capability has been disabled on a 33Mhz 80486 machine...
Trig.Transform Rej.Transform
(bmtype=1) (bmtype=0)
rntype=1: three generators..... 126 seconds 95 seconds
rntype=2: single generator..... 130 seconds 99 seconds
rntype=3: float, subtractive... 129 seconds 99 seconds
rntype=4: Wichman-Hill......... 145 seconds 119 seconds
If your personal computer does NOT have a built-in or add-on numeric
math coprocessor, SSS may run about 32% faster with bmtype=0 than with
bmtype=1. The resulting loss of precision in tail-probability
estimation may be unimportant to you...say, when you are using SSS
primarily as a colorful and dynamic "Screen Saver." Furthermore, you
might want to avoid the Wichman-Hill algorithm (rntype=4) in this
case!
If your personal computer has a numeric math coprocessor you can
disable it (at least, from use by programs compiled with Microsoft
C, such as SSS) by defining a "no87" environmental string
variable. Simply enter the following command at your DOS prompt>
set no87=true
You can later re-enable numeric math processing by eliminating the
"no87" string variable from your environment...
set no87=
USAGE of SSS.EXE
================
To start up the Six-Sigma-Simulator, ENTER the command SSS at your
MS-DOS (>) prompt:
MyPrompt> sss
The Six-Sigma-Simulator will initially start in "Menu-Off" mode, but a
MENU will appear (and histograms will become about half-size) if you
press a key...say, the SPACEBAR.
- 5 -
Once the MENU is visible, you may activate any one of 11 options by
pressing a single key. Any keystroke other than one of these eleven
will be ignored:
T ...display histogram of a "True" normal distribution
C ..."Cumulative" Histogram (everything since last R=reset)
I ..."Incremental" Histograms (most recent SampSize results)
L ...Toggle display between the 25 and 43 Line modes
M ...go to "Menu Off" mode (larger histograms)
N ...display Narrow(er) histogram cells on the screen
[e.g. 1 (or 2) bars per cell instead of 2 (or 4).]
P ...specify simulation Parameters
R ...Reinitialize simulation
S ...set Sample Size (replications per batch)
W ...display Wide(r) histogram cells on the screen
[e.g. 2 (or 4) bars per cell instead of 1 (or 2).]
ESC ...press the ESCape key to exit from SSS
When the SSS P=parameter Menu Option is selected, SSS will...
(i) prompt the user to specify values for five parameter settings,
(ii) save all seven SSS parameters to a file named SSS.PAR, and
(iii) restart the simulation over from the beginning (as in Menu
item R=reset) using any new parameter settings. For example:
Set using "S" => 500 ;number of replications per batch
0 ;Box-Muller type [0,1]
3 ;random number type [1,2,3,4]
Set using "L" => 25 ;number of screen rows
0 ;random number seed
3.0 ;minimum expectancy in tail cells
1000000 ;maximum total replications
These seven parameters are:
Variable Minimum Default Maximum
Name Brief Explanation Value Value Value
------- ------------------------ ------- ------- -------
SampSize Replications per Batch 10 100 1000
bmtype Box-Muller Transform Type 0 1 1
rntype Random Number Generator Type 1 1 4
idum Random Number SEED Value 0 0* 32767**
tRows Screen Rows 25 43 43
exptmin Minimum Expectancy per
Tail Cell for chi-squared 1.0 3.0 5.0
goodness-of-fit statistic
maxreps Maximum Total No. of Reps. 10,000 2billion 2billion
[2,000,000,000]
* Note: idum = 0 causes SSS.EXE to use your personal computer
clock to generate each start-up seed value; different runs (and
resets) of SSS.EXE usually start out (and progress) differently
- 6 -
in this case. A positive value (1<=idum<=32767) will cause each
run (or reset) of SSS.EXE to start at the exact same point of a
pseudo-random sequence; "final" cumulative results will then
depend only upon how long the user waits before pressing the ESC
key to terminate SSS.EXE.
** Note: The Wichman-Hill generator (rntype=4) is initiated with a
seed within the range 1 <= idum <= 30,000. C-code fragment reads:
while( idum > 30000 ) idum = idum%(30000); if( idum < 1 ) idum = 1;
In SSS, results are accumulated using "long" integer values that
cannot exceed 2,147,483,647. SSS.EXE automatically stops (and writes
out summary results in a file named SSS.SAV) after "maxreps"
replications. On the other hand, that many replications would require
about 70 hours on a 33Mhz 486-machine! Of course, you can always stop
SSS.EXE whenever you want by simply pressing the ESCape key.
If SSS.EXE cannot find a file named SSS.PAR in the current MS-DOS
working directory, it will use the DEFAULT values listed above for
its seven parameters.
Here is a "screen print" of SSS.EXE operating in 25-line mode with
its MENU on and Cell-Width set at 1 Bar (0.25 standard deviation):
--------------------------------------------------------------------
3 ╔════════════════════════════════╗
▀▀ ║ ║
▀▀ ║ Six Sigma Simulator ║
║ ║
2 ║ True ║
▀▀▀▀▀ ║ Cumulative ║
▀▀▀▀ ║ Incremental <<< ║
▀▀▀▀▀ ║ Lines ║
1▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ MenuOff NarrowCells ║
▀▀▀▀▀▀▀ ║ Parameters ResetAccum ║
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ SampleSize WideCells ║
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ ║
0▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ Replications = 36500 ║
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ Cum. Chi Sq. = 25.89 (31) ║
▀▀▀▀▀▀▀▀ ║ Inc. Chi Sq. = 12.28 (21) ║
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ ║
-1▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║ Press a Menu Letter Key ║
▀▀▀▀▀▀▀▀ ║ ( T C I L M N P R S W ) ║
▀▀▀▀▀ ║ or Press ESCape to quit: I ║
║ ║
-2▀▀▀▀▀▀▀▀ ╚════════════════════════════════╝
▀▀▀▀
▀▀▀▀▀▀
-3
-------------------------------------------------------------------------
The SSS histogram is usually refreshed each time a new "batch" of
pseudo-Normal variables are generated. Three different kinds of
histogram displays may be selected:
- 7 -
Incremental: Only the last batch [SampSize] of values.
Cumulative: All values since the last reset.
True: Theoretical expected proportions.
When your batch size is small (but at least 10), a large proportion of
your computer's cycles will be used for screen updates, but the
Incremental display is most variable (interesting?) in these cases.
When your batch size is large (but at most 1000), overhead costs
are minimized and the Cumulative display will approach the True
form much more quickly than when batches are small.
Histogram cell widths are 1, 2, or 4 horizontal Bars, where each Bar
represents 0.25 of one standard deviation. Results are always
accumulated into 50 cells for chi-square testing. The top cell counts
all values strictly greater than 6 standard deviations above the mean,
and the bottom cell accumulates counts of values greater than or equal
to 6 standard deviations below the mean. Upon exit from SSS.EXE
results for all 50 cells are automatically written to a file named
SSS.SAV. All 50 cells cannot, however, be displayed in the colorful,
dynamic histograms that appear on your computer screen while SSS.EXE is
actually running...
In 25-line mode, the top row corresponds to observed counts in
the histogram cell (3.00, 3.25] standard deviations above the
mean. And the bottom row represents (-3.00, -2.75] standard
deviations below the mean.
In 43-line mode, the top row corresponds to observed counts in
the histogram cell (5.25, 5.50] standard deviations above the
mean. And the bottom row represents (-5.25, -5.00] standard
deviations below the mean.
The labels along the left screen margin represent the lower (>=)
limit for that row; values assigned to the next row down were
strictly less (<) than the labeled value.
The up and down arrows ( & ) displayed on the Incremental and
Cumulative screens demark the cells that must be merged together to
accumulate the minimum chi-squared expectancy in each tail of the
distribution. The number of arrows (cells) will never change on the
Incremental display because each such display corresponds to the same
number of observations. But the number of arrows (merged cells) will
diminish on the Cumulative display as results accumulate; in 25-line
mode, all such merged cells are frequently "off the screen."
MUMERICAL EXAMPLES
==================
The first six columns of two SSS.SAV output files are listed below for
runs in which 2 billion pseudo-random Normal deviates were generated:
- 8 -
<<< EXAMPLE ONE >>>
Random Number Seed = -12345
Elapsed Simulation Time = 75.9 hours on a 33Mhz 80486
SSS Parameter Settings...
1 ;Box-Muller type [0,1] <== brute-force trig.
4 ;random number type [1,2,3,4] <== exceptionally smooth
500 ;replications per batch (Wichman-Hill)
25 ;number of screen rows
SSS Summary Statistics...
Total Number of Replications = 2,000,000,000
Minimum Expectancy in Tail Cells = 3.0
Cum. Chi Sq. = 31.53 with d.f.= 47
Inc. Chi Sq. = 15.47 with d.f.= 21
Row CutVal ExpFract ExpTail CumFract ChiSq
0 6.0000 0.000000001 0.000000001 0.000000001 0.00
1 5.7500 0.000000003 0.000000004 0.000000003 0.10
2 5.5000 0.000000015 0.000000019 0.000000016 0.30
3 5.2500 0.000000057 0.000000076 0.000000051 1.29
4 5.0000 0.000000211 0.000000287 0.000000215 0.14
5 4.7500 0.000000730 0.000001017 0.000000720 0.30
6 4.5000 0.000002381 0.000003398 0.000002367 0.17
7 4.2500 0.000007291 0.000010689 0.000007301 0.03
8 4.0000 0.000020983 0.000031671 0.000021163 3.08
9 3.7500 0.000056746 0.000088417 0.000056807 0.13
10 3.5000 0.000144212 0.000232629 0.000144274 0.05
11 3.2500 0.000344396 0.000577025 0.000344469 0.03
12 3.0000 0.000772873 0.001349898 0.000773634 1.50
13 2.7500 0.001629865 0.002979763 0.001628786 1.43
14 2.5000 0.003229902 0.006209665 0.003231321 1.25
15 2.2500 0.006014807 0.012224472 0.006014945 0.01
16 2.0000 0.010525658 0.022750130 0.010529525 2.84
17 1.7500 0.017309025 0.040059155 0.017307328 0.33
18 1.5000 0.026748047 0.066807202 0.026744732 0.82
19 1.2500 0.038842578 0.105649780 0.038837542 1.31
20 1.0000 0.053005481 0.158655261 0.053008091 0.26
21 0.7500 0.067972080 0.226627342 0.067971260 0.02
22 0.5000 0.081910175 0.308537517 0.081910796 0.01
23 0.2500 0.092756175 0.401293692 0.092750980 0.58
24 0.0000 0.098706323 0.500000015 0.098710573 0.37
25 -0.2500 0.098706293 0.499999985 0.098712368 0.75
26 -0.5000 0.092756175 0.401293692 0.092752522 0.29
27 -0.7500 0.081910175 0.308537517 0.081907382 0.19
28 -1.0000 0.067972080 0.226627342 0.067969859 0.15
29 -1.2500 0.053005481 0.158655261 0.053005838 0.00
30 -1.5000 0.038842578 0.105649780 0.038845790 0.53
31 -1.7500 0.026748047 0.066807202 0.026750819 0.57
32 -2.0000 0.017309025 0.040059155 0.017308901 0.00
33 -2.2500 0.010525658 0.022750130 0.010521947 2.62
34 -2.5000 0.006014807 0.012224472 0.006016818 1.35
- 9 -
35 -2.7500 0.003229902 0.006209665 0.003229841 0.00
36 -3.0000 0.001629865 0.002979763 0.001631015 1.62
37 -3.2500 0.000772873 0.001349898 0.000773311 0.50
38 -3.5000 0.000344396 0.000577025 0.000344350 0.01
39 -3.7500 0.000144212 0.000232629 0.000143954 0.92
40 -4.0000 0.000056746 0.000088417 0.000056830 0.25
41 -4.2500 0.000020983 0.000031671 0.000020895 0.73
42 -4.5000 0.000007291 0.000010689 0.000007312 0.12
43 -4.7500 0.000002381 0.000003398 0.000002366 0.19
44 -5.0000 0.000000730 0.000001017 0.000000707 1.50
45 -5.2500 0.000000211 0.000000287 0.000000216 0.23
46 -5.5000 0.000000057 0.000000076 0.000000054 0.44
47 -5.7500 0.000000015 0.000000019 0.000000011 2.23
48 -6.0000 0.000000003 0.000000004 0.000000005 0.13
49 -99.9900 0.000000001 0.000000001 0.000000000 0.00
This first run demonstrates exceptionally good agreement between
SSS.EXE simulation results for bmtype=1 and rntype=4 with theoretical
Normal calculations. In fact, the 5% significance point of the chi-
squared distribution with 47 degrees-of-freedom is 32.3 (while its 95%
significance point is 64.0). Thus the observed lack-of-fit is TOO
SMALL to be attributable to mere chance at the 5% significance level!
<<< EXAMPLE TWO >>>
Random Number Seed = -12345
Elapsed Simulation Time = 62.4 hours on a 33Mhz 80486
SSS Parameter Settings...
1 ;Box-Muller type [0,1] <== brute-force trig.
2 ;random number type [1,2,3,4] <== unusually smooth
500 ;replications per batch ("comb" algorithm)
25 ;number of screen rows
SSS Summary Statistics...
Total Number of Replications = 2,000,000,000
Minimum Expectancy in Tail Cells = 3.0
Cum. Chi Sq. = 566.13 with d.f.= 47
Inc. Chi Sq. = 15.26 with d.f.= 21
Row CutVal ExpFract ExpTail CumFract ChiSq
0 6.0000 0.000000001 0.000000001 0.000000000 0.00
1 5.7500 0.000000003 0.000000004 0.000000000 8.92
2 5.5000 0.000000015 0.000000019 0.000000000 29.05
3 5.2500 0.000000057 0.000000076 0.000000000 114.12
4 5.0000 0.000000211 0.000000287 0.000000276 40.62
5 4.7500 0.000000730 0.000001017 0.000000809 16.69
6 4.5000 0.000002381 0.000003398 0.000002449 3.93
7 4.2500 0.000007291 0.000010689 0.000007368 1.63
8 4.0000 0.000020983 0.000031671 0.000020699 7.70
9 3.7500 0.000056746 0.000088417 0.000056457 2.95
10 3.5000 0.000144212 0.000232629 0.000144394 0.46
11 3.2500 0.000344396 0.000577025 0.000344105 0.49
- 10 -
12 3.0000 0.000772873 0.001349898 0.000773961 3.06
13 2.7500 0.001629865 0.002979763 0.001630663 0.78
14 2.5000 0.003229902 0.006209665 0.003230489 0.21
15 2.2500 0.006014807 0.012224472 0.006015109 0.03
16 2.0000 0.010525658 0.022750130 0.010527101 0.40
17 1.7500 0.017309025 0.040059155 0.017304485 2.38
18 1.5000 0.026748047 0.066807202 0.026753897 2.56
19 1.2500 0.038842578 0.105649780 0.038841508 0.06
20 1.0000 0.053005481 0.158655261 0.053003540 0.14
21 0.7500 0.067972080 0.226627342 0.067975115 0.27
22 0.5000 0.081910175 0.308537517 0.081904990 0.66
23 0.2500 0.092756175 0.401293692 0.092758738 0.14
24 0.0000 0.098706323 0.500000015 0.098695066 2.57
25 -0.2500 0.098706293 0.499999985 0.098710461 0.35
26 -0.5000 0.092756175 0.401293692 0.092758795 0.15
27 -0.7500 0.081910175 0.308537517 0.081906534 0.32
28 -1.0000 0.067972080 0.226627342 0.067974338 0.15
29 -1.2500 0.053005481 0.158655261 0.053007317 0.13
30 -1.5000 0.038842578 0.105649780 0.038838293 0.95
31 -1.7500 0.026748047 0.066807202 0.026757881 7.23
32 -2.0000 0.017309025 0.040059155 0.017306851 0.55
33 -2.2500 0.010525658 0.022750130 0.010524504 0.25
34 -2.5000 0.006014807 0.012224472 0.006013421 0.64
35 -2.7500 0.003229902 0.006209665 0.003231136 0.94
36 -3.0000 0.001629865 0.002979763 0.001629847 0.00
37 -3.2500 0.000772873 0.001349898 0.000772596 0.20
38 -3.5000 0.000344396 0.000577025 0.000344465 0.03
39 -3.7500 0.000144212 0.000232629 0.000144024 0.49
40 -4.0000 0.000056746 0.000088417 0.000056623 0.54
41 -4.2500 0.000020983 0.000031671 0.000020928 0.29
42 -4.5000 0.000007291 0.000010689 0.000007216 1.56
43 -4.7500 0.000002381 0.000003398 0.000002402 0.37
44 -5.0000 0.000000730 0.000001017 0.000000832 28.25
45 -5.2500 0.000000211 0.000000287 0.000000332 138.81
46 -5.5000 0.000000057 0.000000076 0.000000000 114.12
47 -5.7500 0.000000015 0.000000019 0.000000000 29.05
48 -6.0000 0.000000003 0.000000004 0.000000000 8.92
49 -99.9900 0.000000001 0.000000001 0.000000000 0.00
No values were generated >= +5.25 or < -5.25 standard deviations from
the mean in 2 billion attempts. However, instead of rates of
deviations beyond +/- 4.5 standard deviations of only 3.398 parts per
million in each tail (both above and below the mean), we observed
slightly more: 2.449 + 0.809 + 0.276 = 3.534 ppm in the upper tail and
2.402 + 0.832 + 0.332 = 3.566 ppm in the lower tail.
Note, in particular, that the overall chi-squared lack-of-fit of
566.13 is gigantic due primarily to cells > +4.75 and < -4.75 standard
deviations from the mean; 487.93 units of the overall statistic came
from the six top and six bottom cells. But the contribution of the
remaining cells sums to 78.2, which is still STATISTICALLY
significant!
- 11 -
This second run still demonstrates reasonable NUMERICAL agreement
between SSS.EXE simulation results for bmtype=1 and rntype=2 with
theoretical Normal calculations.
<<< OTHER EXAMPLES >>>
Rather than list several more numerical examples here, I will summarize
my experiences with SSS.EXE as follows:
SSS.EXE simulation results with bmtype=0 tend to be somewhat more
"short tailed" than a theoretical Normal distribution.
SSS.EXE simulation results with rntype = 1 and 3 are less smoothly
uniform in the long-run than are those with the rntype = 2 "comb."
And rntypes = 1, 2, and 3 are MUCH less smoothly uniform in the
long-run than is Wichman-Hill (rntype = 4). Not only that, the
Wichman-Hill algorithm apparently is capable of producing uniform
variate values much closer to 0.0 and 1.0 than are the rntype = 1,
2, and 3 algorithms.
Simulation of an entire doubly-unbounded distribution is a truly
difficult task. Simulation results can be expected to be least
accurate in the tails. But tails that are "too thin" also imply,
of course, that the center ends up being "too thick"...or vice
versa. As a result, significant lack-of-fit to the parent can
occur anywhere, even near the "center" of the distribution.
ADVANCED CONCEPTS
=================
Rare-event simulations using the brute-force approach of simply
generating literally millions of values with "realistic" pseudo-
random algorithms (like rntype = 1 & 3) are unlikely to yield results
that are very close, numerically, to a corresponding "theoretical"
value. Murphy's law says that anything that possibly could go wrong
surely will have in a large-scale simulation. But this is also
precisely what makes simulation results more "realistic" than
theoretical calculations!
With "realistic" pseudo-random number algorithms, very large samples
are actually expected to be significantly different, statistically,
from their "true" parent distribution. In the sense that their
long-range marginal distributions are unusually smooth, the rntype = 4
and 2 pseudo-random number generators are actually "less realistic"
than rntype = 1 or 3. On the other hand, even the highly
"significant" observed differences between the theoretical Normal
calculations and simulation results from rntype=1 and 3 generators are
MUCH TOO SMALL NUMERICALLY to be of any "practical" importance...i.e.
they certainly do not cast any reasonable doubt upon the usefulness of
theoretical, stochastic models or of pseudo-random number generators.
- 12 -
DATE WARNING
============
SSS.EXE attempts to keep track of the total number of seconds it
executed (past its last reset, if any) and writes this information,
along with a Date/Time stamp, when it creates the SSS.SAV output save
file. Unfortunately, if SSS executes for more than 48 hours, your
system clock may fail to update the DATE, and your system will end up
loosing one (or more) days. Time-of-day should remain correct,
however. Sorry about this date BUG!!!
REFERENCES
==========
Carr, Wendell E. (1991). "A New Process Capability Index: Parts Per
Million." Quality Progress 24, no.8 (August), page 152.
Harry, Mikel J. (1987). "The Nature of Six-Sigma Quality." (booklet)
Motorola Communications Sector, Schaumburg, IL.
McLeod, A. Ian (1985). "Remark AS R58: A Remark on Algorithm AS 183.
An Efficient and Portable Pseudo-Random Number Generator."
Applied Statistics 34, 198-200.
Press, William H., Flannery, Brian P., Teukolsky, Saul A., and
Vetterling, William T. (1988). "Numerical Recipes in C: The Art
of Scientific Computing." [especially Chapter 7: Random Number
Generation.] Cambridge University Press. {Source Code:
Copyright 1985, 1987 by Numerical Recipes Software, P.O.Box 243,
Cambridge, MA 02238.}
Wichman, B. A. and Hill, I. D. (1982). "Algorithm AS 183: An Efficient
and Portable Pseudo-Random Number Generator." Applied Statistics
31, 188-190.
Zeisel, H. (1986). "Remark AS R61: A Remark on Algorithm AS 183. An
Efficient and Portable Pseudo-Random Number Generator." Applied
Statistics 35, 89.
SSS Update History:
===================
9109 ...Accumulate using LONG integers; Correct Motorola Description
9111 ...Increase Size of Histrograms in Default, "No Menu" Mode.
9201 ...Choice of 4 pseudo-random and 2 Box-Muller algorithms;
increase number of histogram cells to 50 (i.e. reduce width
to 0.25 of one standard deviation), and depict only the
"center" 25 or 43 cells in dynamic "screen displays."
9203 ...Switch from the unsigned-long to the (somewhat faster)
integer based version of the Wichman-Hill generator.
9204 ...Modify Wichman-Hill generator a la McLeod(1985).
9207 ...Rename Menu Item: N=no Menu to M=menu Off
Rename Menu Item: R=reset to P=parameters
Add Menu Item: N=narrowCells to Decrease cell widths
to 1 or 2 Bars / Cell
- 13 -
Add Menu Item: R=resetAccum to Reinitialize
Simulation
Add Menu Item: S=sample Size to Determine Number of
Replications per Batch
Add Menu Item: W=wideCells to Increase cell widths
to 2 or 4 Bars / Cell
+---------------------------End of SSS.DOC-----------------------------+